const puppeteer = require('puppeteer');
const path = require('path')
const methods = require('./methods')
puppeteer.launch({
  // 在导航期间忽略 HTTPS 错误
	ignoreHTTPSErrors: true,
  // 不在 无头模式 下运行浏览器
	headless: false,
  // 将 Puppeteer 操作减少指定的毫秒数
  slowMo: 250,
  // 等待浏览器实例启动的最长时间，0禁用超时
	timeout: 0
}).then(async browser => {
  try {
    // 初始化
    let page = await methods.init(browser);
    // 获取列表中标题和链接
    let list = await methods.getList(page)
    // 获取文章详情
    list = await methods.getListDetail(list, page)
    // 保存数据
    methods.writeFile(path.resolve(__dirname, '../out/articles.json'), JSON.stringify(list, null, 2))
    // 关闭页面
    await page.close();
    // 关闭浏览器
    await browser.close();
  } catch (error) {
    console.error(error)
    // 关闭浏览器
    await browser.close();
  }
})